package com.vcc.service.service;

import com.mybatisflex.core.service.IService;
import com.vcc.data.entity.CardType;
import com.vcc.data.entity.UserCardWallet;
import com.vcc.service.boss.request.userCard.BatchUserCardWalletDto;
import com.vcc.service.boss.request.userCard.UserCardWalletDto;

import java.util.Collection;
import java.util.List;

public interface UserCardWalletService extends IService<UserCardWallet> {

    UserCardWallet getById(Long id);

    List<UserCardWallet> listByUserId(Long userId);

    List<UserCardWallet> listByUserId(Long userId,Collection<Long> cardIds);

    List<UserCardWallet> listByUserIds(Collection<Long> userIds);

    UserCardWallet findByUserIdAndCardId(Long userId, Long cardId);

    Boolean updateInfo(UserCardWalletDto userCardWalletDto);

    Boolean batchUpdateInfo(BatchUserCardWalletDto batchUserCardWalletDto);

    Boolean init(List<CardType> cardIds, Long userId);

    Boolean init(List<CardType> cardIds, Long userId, Long parentId);

    Boolean addCardInit(CardType card, List<Long> userIds);
}
